package controlebens.dao;

import br.com.caelum.vraptor.ioc.Component;
import controlebens.model.Funcionario;
import controlebens.model.Login;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * @author Jefferson Stachelski
 * Classe DAO para a Entidade Login
 */

@Component
public class LoginDAO extends Dao{

    public LoginDAO(Connection conexao) {
        super(conexao);
    }

    public boolean validarLogin(Login login) throws Exception{
        boolean validacao = false;
        String sql = "";
        
        try{
            sql = "SELECT USUARIO, SENHA FROM LOGIN WHERE USUARIO = ? AND SENHA = ?";
            
            PreparedStatement pst = super.conexao.prepareStatement(sql);
            pst.setString(1, login.getUsuario());
            pst.setString(2, login.getSenhaMD5());
            
            ResultSet rs = pst.executeQuery();
            if(rs.next()){
                validacao = true;
            }
        }
        catch(SQLException e){
            System.out.println("Erro: " + e.getMessage());
            return false;
        }
        catch(Exception e){
            System.out.println("Erro: " + e.getMessage());
            return false;
        }
        
        return validacao;
    }

    public Funcionario getFuncionario(Login login) {
        String sql = "";
        PreparedStatement pst = null;
        Funcionario funcionario = null;
        
        try{
            sql = "SELECT ID, NOME, DATA_NASCIMENTO, MATRICULA, FUNCAO_ID, SETOR_ID FROM FUNCIONARIO WHERE LOGIN_ID = ?";
            pst = this.conexao.prepareStatement(sql);
            pst.setInt(1, login.getId());
        }
        catch(SQLException e){
            System.out.println("SQL Erro: " + e.getMessage());
        }
        catch(Exception e){
            System.out.println("Erro: " + e.getMessage());
        }
        
        return funcionario;
    }
}